package me.flyray.bsin.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 索引模型
 * @TableName ai_embedding_model
 */
@TableName(value ="ai_embedding_model")
@Data
public class EmbeddingModel implements Serializable {
    /**
     * 
     */
    @TableId
    private String serialNo;

    /**
     * 
     */
    private String tenantId;

    /**
     * 商户号
     */
    private String merchantNo;

    /**
     * 
     */
    private String customerNo;

    /**
     * 索引模型名称
     */
    private String name;

    /**
     * 索引模型类型：1、embedding-2  2、M3E  3、AllMiniLmL6V2  4、BgeSmallZh 5、Qwen
     */
    private String type;

    /**
     * 描述
     */
    private String description;

    /**
     * 状态： 0：禁用 1:启用
     */
    private String status;

    /**
     * 逻辑删除 0、未删除 1、已删除
     */
    private Boolean delFlag;

    /**
     * 
     */
    private Date updateTime;

    /**
     * 
     */
    private Date createTime;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 检索方式：1.语义检索 2.增强语义检索 3.混合检索
     */
    private String retrievalMethod;

    /**
     * 最多检索结果
     */
    private Integer maxResults;

    /**
     * 最低相关度：0-1
     */
    private BigDecimal minScore;

    /**
     * 引用上限：300-3000，中文1字1.7token, 英文1字=1token
     */
    private Integer quoteLimit;

    /**
     * 空搜索回复
     */
    private String emptyResp;

    /**
     * 向量维度
     */
    private Integer dimension;

    /**
     * 
     */
    private String collectionName;

    /**
     * 分段最多token数
     */
    private Integer segmentSizeInTokens;

    /**
     * 最大重叠token数
     */
    private Integer overlapSizeInTokens;

    /**
     * 分词模型：1、OpenAiTokenizer(GPT_3_5_TURBO)  2、Bert
     */
    private String tokenizerModel;

    /**
     * 
     */
    private String coverImage;

    /**
     * 访问权限： 1-private 2-public
     */
    private String accessAuthority;

    /**
     * 文档分词器：1、ByCharacter 2、ByLine  3、ByParagraph 4、ByRegex 5、BySentence 6、ByWord
     */
    private String documentSplitter;

    /**
     * 是否为默认： 1-默认
     */
    private Boolean defaultFlag;

    /**
     * 是否可编辑|删除
     */
    private Boolean editable;

    /**
     * 
     */
    private String apiKey;

    /**
     * 
     */
    private String apiBaseUrl;

    /**
     * 
     */
    private String proxyUrl;

    /**
     * 
     */
    private String proxyPort;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

}